package cn.iocoder.yudao.module.system.dal.dataobject.investment;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
 * 
 * @TableName system_participation
 */
@TableName(value ="system_participation")
@Data
@EqualsAndHashCode(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SystemParticipation extends BaseDO {
    /**
     * 招商参与的id
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 招商参与方的id
     */
    @TableField(updateStrategy = FieldStrategy.NOT_NULL)
    private Long participationId;

    /**
     * 招商的商家id
     */
    @TableField(updateStrategy = FieldStrategy.NOT_NULL)
    private Long investmentId;

    /**
     * 公司名称
     */
    @TableField(updateStrategy = FieldStrategy.NOT_NULL)
    private String companyName;

    /**
     * 公司法人
     */
    @TableField(updateStrategy = FieldStrategy.NOT_NULL)
    private String legalRepresentative;

    /**
     * 公司联系方式
     */
    @TableField(updateStrategy = FieldStrategy.NOT_NULL)
    private String phone;

    /**
     * 公司地址
     */
    @TableField(updateStrategy = FieldStrategy.NOT_NULL)
    private String address;

    /**
     * 招商项目的id
     */
    @TableField(updateStrategy = FieldStrategy.NOT_NULL)
    private Integer projectId;

    /**
     * 申请状态
     */
    @TableField(updateStrategy = FieldStrategy.NOT_NULL)
    private String status;

    /**
     * 申请日期
     */
    @TableField(updateStrategy = FieldStrategy.NOT_NULL)
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime applicationDate;

    /**
     * 处理日期
     */
    @TableField(updateStrategy = FieldStrategy.NOT_NULL)
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime approvalDate;

    /**
     * 备注
     */
    private String notes;

    /**
     * 申请文件url
     */
    @TableField(updateStrategy = FieldStrategy.NOT_NULL)
    private String applicationFile;

    /**
     * 资质证明文件url
     */
    @TableField(updateStrategy = FieldStrategy.NOT_NULL)
    private String qualicationFile;


}